package zgrjb.snbq.teach_platform.dto.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 话题讨论表 DO
 * 对应数据库表：topic
 * 
 * CREATE TABLE `topic` (
 *     `id` BIGINT UNSIGNED NOT NULL PRIMARY KEY COMMENT '话题ID',
 *     `class_id` BIGINT UNSIGNED NOT NULL COMMENT '班级ID',
 *     `student_id` BIGINT UNSIGNED NOT NULL COMMENT '发表学生ID',
 *     `author` VARCHAR(64) DEFAULT NULL COMMENT '作者姓名',
 *     `main_info` VARCHAR(512) DEFAULT NULL COMMENT '话题内容',
 *     `good` INT DEFAULT 0 COMMENT '点赞数',
 *     `time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '发表时间',
 *     `status` TINYINT DEFAULT 1 COMMENT '状态：1-正常，0-删除',
 *     `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 *     `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
 * );
 */

@Data
@TableName("topic")
public class TopicDO {

    /**
     * 话题ID
     */
    private Long id;

    /**
     * 班级ID
     */
    @TableField("class_id")
    private Long classId;

    /**
     * 发表学生ID
     */
    @TableField("student_id")
    private Long studentId;

    /**
     * 作者姓名
     */
    private String author;

    /**
     * 话题内容
     */
    @TableField("main_info")
    private String mainInfo;

    /**
     * 点赞数
     */
    private Integer good;

    /**
     * 发表时间
     */
    private LocalDateTime time;

    /**
     * 状态：1-正常，0-删除
     */
    private Integer status;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;
}
